Class: Google::Shopping::Merchant::Products::V1::ProductAttributes

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/shopping/merchant/products/v1/products_common.rb

Overview

Product attributes.

Defined Under Namespace

Modules: AmenityFeature, CarrierPriceOption, EmissionsStandard, EngineType, PropertyType, SpecialtyHousingType, UtilitiesIncluded, VehicleBodyStyle, VehiclePriceType Classes: CarrierShipping, Co2Emissions, DisplayAddress, EnergyConsumption, FuelConsumption, Mileage, PetPolicy, ProductFee, QuestionAndAnswer, RelatedProduct, ShippingBusinessDaysConfig, UnitArea, VariantOption, Warranty

Instance Attribute Summary collapse

Instance Attribute Details

Returns Additional URLs of images of the item.

Returns:

  • (::Array<::String>)

    Additional URLs of images of the item.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#ads_grouping::String

Returns Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise. For more information, see Display ads attribute.

Returns:

  • (::String)

    Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise. For more information, see Display ads attribute.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#ads_labels::Array<::String>

Returns Similar to ads_grouping, but only works on CPC.

Returns:

  • (::Array<::String>)

    Similar to ads_grouping, but only works on CPC.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#ads_redirect::String

Returns Allows advertisers to override the item URL when the product is shown within the context of Product ads.

Returns:

  • (::String)

    Allows advertisers to override the item URL when the product is shown within the context of Product ads.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#adult::Boolean

Returns Set to true if the item is targeted towards adults.

Returns:

  • (::Boolean)

    Set to true if the item is targeted towards adults.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#age_group::Google::Shopping::Merchant::Products::V1::AgeGroup

Returns Target age group of the item.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#amenity_feature::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::AmenityFeature>

Returns The amenity features for the property.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#auto_pricing_min_price::Google::Shopping::Type::Price

Returns A safeguard in the automated discounts and "Dynamic Promotions" (https://support.google.com/merchants/answer/13949249) projects, ensuring that discounts on business offers do not fall below this value, thereby preserving the offer's value and profitability.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#availability::Google::Shopping::Merchant::Products::V1::Availability

Returns Availability status of the item.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#availability_date::Google::Protobuf::Timestamp

Returns The day a pre-ordered product becomes available for delivery, in ISO 8601 format.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#body_style::Google::Shopping::Merchant::Products::V1::ProductAttributes::VehicleBodyStyle

Returns The body style of the vehicle.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#brand::String

Returns Brand of the item. For example, "Google".

Returns:

  • (::String)

    Brand of the item. For example, "Google".



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns URL for the canonical version of your item's landing page.

Returns:

  • (::String)

    URL for the canonical version of your item's landing page.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#carrier_shipping::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping>

Returns Rules for carrier-based shipping.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#certifications::Array<::Google::Shopping::Merchant::Products::V1::ProductCertification>

Returns Product Certifications, for example for energy efficiency labeling of products recorded in the EU EPREL database. See the Help Center article for more information.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#certified_pre_owned::Boolean

Returns Whether the vehicle is OEM certified pre-owned.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#cloud_export_additional_properties::Array<::Google::Shopping::Merchant::Products::V1::CloudExportAdditionalProperties>

Returns Extra fields to export to the Cloud Retail program.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#co2_emissions::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions

Returns The co2 emission of the vehicle.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#color::String

Returns Color of the item. For example, "red".

Returns:

  • (::String)

    Color of the item. For example, "red".



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#condition::Google::Shopping::Merchant::Products::V1::Condition

Returns Condition or state of the item.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#cost_of_goods_sold::Google::Shopping::Type::Price

Returns Cost of goods sold. Used for gross profit reporting.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#custom_label_0::String

Returns Custom label 0 for custom grouping of items in a Shopping campaign.

Returns:

  • (::String)

    Custom label 0 for custom grouping of items in a Shopping campaign.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#custom_label_1::String

Returns Custom label 1 for custom grouping of items in a Shopping campaign.

Returns:

  • (::String)

    Custom label 1 for custom grouping of items in a Shopping campaign.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#custom_label_2::String

Returns Custom label 2 for custom grouping of items in a Shopping campaign.

Returns:

  • (::String)

    Custom label 2 for custom grouping of items in a Shopping campaign.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#custom_label_3::String

Returns Custom label 3 for custom grouping of items in a Shopping campaign.

Returns:

  • (::String)

    Custom label 3 for custom grouping of items in a Shopping campaign.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#custom_label_4::String

Returns Custom label 4 for custom grouping of items in a Shopping campaign.

Returns:

  • (::String)

    Custom label 4 for custom grouping of items in a Shopping campaign.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#date_first_registered::String

Returns The date the vehicle was first registered. Format: YYYY-MM. See the Date first registered for more information.

Returns:

  • (::String)

    The date the vehicle was first registered. Format: YYYY-MM. See the Date first registered for more information.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#description::String

Returns Description of the item.

Returns:

  • (::String)

    Description of the item.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#disclosure_date::Google::Protobuf::Timestamp

Returns The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in ISO 8601 format. See Disclosure date for more information.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#display_address::Google::Shopping::Merchant::Products::V1::ProductAttributes::DisplayAddress

Returns The display address of the property.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#display_ads_id::String

Returns An identifier for an item for dynamic remarketing campaigns.

Returns:

  • (::String)

    An identifier for an item for dynamic remarketing campaigns.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns URL directly to your item's landing page for dynamic remarketing campaigns.

Returns:

  • (::String)

    URL directly to your item's landing page for dynamic remarketing campaigns.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#display_ads_similar_ids::Array<::String>

Returns Advertiser-specified recommendations. For more information, see Display ads attribute specification.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#display_ads_title::String

Returns Title of an item for dynamic remarketing campaigns.

Returns:

  • (::String)

    Title of an item for dynamic remarketing campaigns.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#display_ads_value::Float

Returns Offer margin for dynamic remarketing campaigns. For more information, see Display ads attribute.

Returns:

  • (::Float)

    Offer margin for dynamic remarketing campaigns. For more information, see Display ads attribute.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns Optional. Contains a list of PDF document URLs for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with "http://" or "https://"), ASCII characters only, and RFC 3986 compliant.

Returns:

  • (::Array<::String>)

    Optional. Contains a list of PDF document URLs for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with "http://" or "https://"), ASCII characters only, and RFC 3986 compliant.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#electric_range::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage

Returns The electric range of the vehicle in miles/kms.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#emissions_standard::Google::Shopping::Merchant::Products::V1::ProductAttributes::EmissionsStandard

Returns The emission standard of the vehicle.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#energy_consumption::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption

Returns The energy consumption of the vehicle.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#energy_efficiency_class::Google::Shopping::Merchant::Products::V1::EnergyEfficiencyClass

Returns The energy efficiency class as defined in EU directive 2010/30/EU.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#engine::Google::Shopping::Merchant::Products::V1::ProductAttributes::EngineType

Returns The engine type of the vehicle.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#excluded_destinations::Array<::Google::Shopping::Type::Destination::DestinationEnum>

Returns The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).

For more information, see Excluded destination.

Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#expiration_date::Google::Protobuf::Timestamp

Returns Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#external_seller_id::String

Returns Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account.

Returns:

  • (::String)

    Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#free_shipping_threshold::Array<::Google::Shopping::Merchant::Products::V1::FreeShippingThreshold>

Returns Conditions to be met for a product to have free shipping.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#fuel_consumption::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption

Returns The fuel consumption of the vehicle.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#fuel_consumption_discharged_battery::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption

Returns The fuel consumption of the vehicle when the hybrid battery is discharged. See the Help Center article for more information.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#gender::Google::Shopping::Merchant::Products::V1::Gender

Returns Target gender of the item.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#google_product_category::String

Returns Google's category of the item (see Google product taxonomy). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.

Returns:

  • (::String)

    Google's category of the item (see Google product taxonomy). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#gtins::Array<::String>

Returns Global Trade Item Numbers (GTIN) of the item. You can provide up to 10 GTINs.

Returns:

  • (::Array<::String>)

    Global Trade Item Numbers (GTIN) of the item. You can provide up to 10 GTINs.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#handling_cutoff_times::Array<::Google::Shopping::Merchant::Products::V1::HandlingCutoffTime>

Returns The handling cutoff times for shipping.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#identifier_exists::Boolean

Returns Set this value to false when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Defaults to true, if not provided.

Returns:

  • (::Boolean)

    Set this value to false when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Defaults to true, if not provided.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns URL of an image of the item.

Returns:

  • (::String)

    URL of an image of the item.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#included_destinations::Array<::Google::Shopping::Type::Destination::DestinationEnum>

Returns The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.

For more information, see Included destination.

Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.

Returns:

  • (::Array<::Google::Shopping::Type::Destination::DestinationEnum>)

    The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.

    For more information, see Included destination.

    Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#installment::Google::Shopping::Merchant::Products::V1::ProductInstallment

Returns Number and amount of installments to pay for an item.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#is_bundle::Boolean

Returns Whether the item is a business-defined sub-API. A sub-API is a custom grouping of different products sold by a business for a single price.

Returns:

  • (::Boolean)

    Whether the item is a business-defined sub-API. A sub-API is a custom grouping of different products sold by a business for a single price.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#item_group_id::String

Returns Shared identifier for all variants of the same product.

Returns:

  • (::String)

    Shared identifier for all variants of the same product.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#item_group_title::String

Returns Optional. Represents the title of the product group to which this variant product belongs. This can be used along with the item group id attribute. It lets you perform better grouping of variant products, and helps identifying common product characteristics more efficiently.

Returns:

  • (::String)

    Optional. Represents the title of the product group to which this variant product belongs. This can be used along with the item group id attribute. It lets you perform better grouping of variant products, and helps identifying common product characteristics more efficiently.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#latitude::Float

Returns The latitude of the property. The value must be between -90 (inclusive) and 90 (inclusive), up to 6 decimal places.

Returns:

  • (::Float)

    The latitude of the property. The value must be between -90 (inclusive) and 90 (inclusive), up to 6 decimal places.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the Help Center article for more information.

Returns:

  • (::Array<::String>)

    Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the Help Center article for more information.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns URL directly linking to your item's page on your online store.

Returns:

  • (::String)

    URL directly linking to your item's page on your online store.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns Link template for business hosted local storefront.

Returns:

  • (::String)

    Link template for business hosted local storefront.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#longitude::Float

Returns The longitude of the property. The value must be between -180 (inclusive) and 180 (inclusive), up to 6 decimal places.

Returns:

  • (::Float)

    The longitude of the property. The value must be between -180 (inclusive) and 180 (inclusive), up to 6 decimal places.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#loyalty_points::Google::Shopping::Merchant::Products::V1::LoyaltyPoints

Returns Loyalty points that users receive after purchasing the item. Japan only.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#loyalty_programs::Array<::Google::Shopping::Merchant::Products::V1::LoyaltyProgram>

Returns A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#material::String

Returns The material of which the item is made. For example, "Leather" or "Cotton".

Returns:

  • (::String)

    The material of which the item is made. For example, "Leather" or "Cotton".



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#max_energy_efficiency_class::Google::Shopping::Merchant::Products::V1::EnergyEfficiencyClass

Returns The energy efficiency class as defined in EU directive 2010/30/EU.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#max_handling_time::Integer

Returns Maximal product handling time (in business days).

Returns:

  • (::Integer)

    Maximal product handling time (in business days).



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#maximum_retail_price::Google::Shopping::Type::Price

Returns Maximum retail price (MRP) of the item. Applicable to India only.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#mileage::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage

Returns The number of miles/kms on the vehicle. See the Mileage for more information.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#min_energy_efficiency_class::Google::Shopping::Merchant::Products::V1::EnergyEfficiencyClass

Returns The energy efficiency class as defined in EU directive 2010/30/EU.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#min_handling_time::Integer

Returns Minimal product handling time (in business days).

Returns:

  • (::Integer)

    Minimal product handling time (in business days).



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#minimum_order_values::Array<::Google::Shopping::Merchant::Products::V1::ProductMinimumOrderValue>

Returns The minimum value in the cart before a customer can initiate checkout. Supports multiple minimum order values. Different minimum order values can be specified per country, service and surface. Maximum entries: 100.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns URL for the mobile-optimized version of your item's landing page.

Returns:

  • (::String)

    URL for the mobile-optimized version of your item's landing page.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns Link template for business hosted local storefront optimized for mobile devices.

Returns:

  • (::String)

    Link template for business hosted local storefront optimized for mobile devices.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#model::String

Returns The Model of the vehicle, such as LX, EX, and others.

Returns:

  • (::String)

    The Model of the vehicle, such as LX, EX, and others.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#mpn::String

Returns Manufacturer Part Number (MPN) of the item.

Returns:

  • (::String)

    Manufacturer Part Number (MPN) of the item.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#multipack::Integer

Returns The number of identical products in a business-defined multipack.

Returns:

  • (::Integer)

    The number of identical products in a business-defined multipack.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#neighborhood::String

Returns The neighborhood (locality) of the property, such as Wallingford, Greenwood, etc.

Returns:

  • (::String)

    The neighborhood (locality) of the property, such as Wallingford, Greenwood, etc.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#number_of_bathrooms::Float

Returns The number of bathrooms in the property. The value must be greater than 0 and a multiple of 0.5.

Returns:

  • (::Float)

    The number of bathrooms in the property. The value must be greater than 0 and a multiple of 0.5.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#number_of_bedrooms::Float

Returns The number of bedrooms in the property. The value must be greater than or equal to 0 and a multiple of 1.0.

Returns:

  • (::Float)

    The number of bedrooms in the property. The value must be greater than or equal to 0 and a multiple of 1.0.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#number_of_units::Integer

Returns The number of units available for a specific floor plan of the property. The value must be greater than 0.

Returns:

  • (::Integer)

    The number of units available for a specific floor plan of the property. The value must be greater than 0.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#pattern::String

Returns The item's pattern. For example, polka dots.

Returns:

  • (::String)

    The item's pattern. For example, polka dots.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#pause::Google::Shopping::Merchant::Products::V1::Pause

Returns Publication of this item will be temporarily paused.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#pet_policy::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy

Returns The pet policy for the property.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#pickup_cost::Google::Shopping::Merchant::Products::V1::PickupCost

Returns Optional. The pickup cost for an item when a customer buys it online and picks it up at a store.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#pickup_method::Google::Shopping::Merchant::Products::V1::PickupMethod

Returns The pickup option for the item.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#pickup_sla::Google::Shopping::Merchant::Products::V1::PickupSla

Returns Item store pickup timeline. For more information, see Pickup SLA.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#popularity_rank::Float

Returns Optional. Indicates the popularity of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest).

Returns:

  • (::Float)

    Optional. Indicates the popularity of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest).



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#price::Google::Shopping::Type::Price

Returns Price of the item.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#product_details::Array<::Google::Shopping::Merchant::Products::V1::ProductDetail>

Returns Technical specification or additional product details.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#product_fee::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee>

Returns The product fee for the property.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#product_height::Google::Shopping::Merchant::Products::V1::ProductDimension

Returns The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#product_highlights::Array<::String>

Returns Bullet points describing the most relevant product highlights.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#product_length::Google::Shopping::Merchant::Products::V1::ProductDimension

Returns The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#product_types::Array<::String>

Returns Categories of the item (formatted as in product data specification).

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#product_weight::Google::Shopping::Merchant::Products::V1::ProductWeight

Returns The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive).

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#product_width::Google::Shopping::Merchant::Products::V1::ProductDimension

Returns The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#promotion_ids::Array<::String>

Returns The unique ID of a promotion.

Returns:

  • (::Array<::String>)

    The unique ID of a promotion.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#property_name::String

Returns The name of the property.

Returns:

  • (::String)

    The name of the property.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#property_type::Google::Shopping::Merchant::Products::V1::ProductAttributes::PropertyType

Returns The type of property.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#questions_and_answers::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::QuestionAndAnswer>

Returns Optional. Contains user-, merchant-, and manufacturer-authored questions and answers about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns Optional. Specifies how other products are related to this product.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#return_policy_label::String

The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see Return policy label.

Returns:

  • (::String)

    The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see Return policy label.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#sale_price::Google::Shopping::Type::Price

Returns Advertised sale price of the item.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#sale_price_effective_date::Google::Type::Interval

Returns Date range during which the item is on sale, see product data specification.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#sell_on_google_quantity::Integer

Returns The quantity of the product that is available for selling on Google. Supported only for online products.

Returns:

  • (::Integer)

    The quantity of the product that is available for selling on Google. Supported only for online products.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#shipping::Array<::Google::Shopping::Merchant::Products::V1::Shipping>

Returns Shipping rules.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#shipping_handling_business_days::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::ShippingBusinessDaysConfig>

Returns The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#shipping_height::Google::Shopping::Merchant::Products::V1::ShippingDimension

Returns Height of the item for shipping.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#shipping_label::String

Returns The shipping label of the product, used to group products in account-level shipping rules. Max. 100 characters. For more information, see Shipping label.

Returns:

  • (::String)

    The shipping label of the product, used to group products in account-level shipping rules. Max. 100 characters. For more information, see Shipping label.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#shipping_length::Google::Shopping::Merchant::Products::V1::ShippingDimension

Returns Length of the item for shipping.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#shipping_transit_business_days::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::ShippingBusinessDaysConfig>

Returns The business days during which orders are in transit. If not provided, Monday to Friday business days will be assumed.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#shipping_weight::Google::Shopping::Merchant::Products::V1::ShippingWeight

Returns Weight of the item for shipping.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#shipping_width::Google::Shopping::Merchant::Products::V1::ShippingDimension

Returns Width of the item for shipping.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#shopping_ads_excluded_countries::Array<::String>

Returns List of country codes (ISO 3166-1 alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in data source settings.

Returns:

  • (::Array<::String>)

    List of country codes (ISO 3166-1 alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in data source settings.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#short_title::String

Returns The short title of the item.

Returns:

  • (::String)

    The short title of the item.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#size::String

Returns Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value, see Size.

Returns:

  • (::String)

    Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value, see Size.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#size_system::Google::Shopping::Merchant::Products::V1::SizeSystem

Returns System in which the size is specified. Recommended for apparel items. For more information, see Size system.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#size_types::Array<::Google::Shopping::Merchant::Products::V1::SizeType>

Returns The cut of the item. It can be used to represent combined size types for apparel items. Maximum two of size types can be provided, see Size type.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#specialty_housing_type::Google::Shopping::Merchant::Products::V1::ProductAttributes::SpecialtyHousingType

Returns The specialty housing type for the property.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#structured_description::Google::Shopping::Merchant::Products::V1::StructuredDescription

Returns Structured description, for algorithmically (AI)-generated descriptions.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#structured_title::Google::Shopping::Merchant::Products::V1::StructuredTitle

Returns Structured title, for algorithmically (AI)-generated titles.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#subscription_cost::Google::Shopping::Merchant::Products::V1::SubscriptionCost

Returns Number of periods (weeks, months or years) and amount of payment per period for an item with an associated subscription contract.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#sustainability_incentives::Array<::Google::Shopping::Merchant::Products::V1::ProductSustainabilityIncentive>

Returns The list of sustainability incentive programs.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#title::String

Returns Title of the item.

Returns:

  • (::String)

    Title of the item.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#transit_time_label::String

Returns The transit time label of the product, used to group product in account-level transit time tables.

Returns:

  • (::String)

    The transit time label of the product, used to group product in account-level transit time tables.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#trim::String

Returns The Trim of the vehicle model, such as S, SV, SL and others.

Returns:

  • (::String)

    The Trim of the vehicle model, such as S, SV, SL and others.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#unit_area::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea

Returns The unit area of the property, such as 1000 sqft.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#unit_pricing_base_measure::Google::Shopping::Merchant::Products::V1::UnitPricingBaseMeasure

Returns The preference of the denominator of the unit price.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#unit_pricing_measure::Google::Shopping::Merchant::Products::V1::UnitPricingMeasure

Returns The measure and dimension of an item.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#utilities_included::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::UtilitiesIncluded>

Returns The utilities included for the property.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#variant_options::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::VariantOption>

Returns Optional. Contains the list of all variant-identifying options of this product.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#vehicle_all_in_price::Google::Shopping::Type::Price

Returns The all-in advertised price for a vehicle, which includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the Vehicle all-in price for more information.

Returns:

  • (::Google::Shopping::Type::Price)

    The all-in advertised price for a vehicle, which includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the Vehicle all-in price for more information.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#vehicle_expenses::Google::Shopping::Type::Price

Returns The miscellaneous expenses like insurance and registration fees of the vehicle. See the Vehicle expenses for more information.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#vehicle_mandatory_inspection_included::Boolean

Returns Whether the vehicle is sold with mandatory inspection and maintenance performed before delivery. See the Vehicle mandatory inspection included for more information.`.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#vehicle_msrp::Google::Shopping::Type::Price

Returns The MSRP (Manufacturer Suggested Retail Price) for the vehicle in its current configuration. See the Vehicle MSRP for more information.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#vehicle_price_type::Google::Shopping::Merchant::Products::V1::ProductAttributes::VehiclePriceType

Returns The price type of the vehicle.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns Optional. A list of video URLs for the item. Use this attribute to provide more visuals for your product beyond your image attributes. See the Help Center article for more information.

Returns:

  • (::Array<::String>)

    Optional. A list of video URLs for the item. Use this attribute to provide more visuals for your product beyond your image attributes. See the Help Center article for more information.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#vin::String

Returns The Vehicle Identification Number (VIN) of the vehicle.

Returns:



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

Returns URL of the 3D image of the item. See the Help Center article for more information.

Returns:

  • (::String)

    URL of the 3D image of the item. See the Help Center article for more information.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#warranty::Google::Shopping::Merchant::Products::V1::ProductAttributes::Warranty

Returns The warranty of the vehicle.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end

#year::Integer

Returns The Year of the vehicle model.

Returns:

  • (::Integer)

    The Year of the vehicle model.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
# File 'proto_docs/google/shopping/merchant/products/v1/products_common.rb', line 651

class ProductAttributes
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The business days during which orders are on their path to fulfillment.
  # If not provided, Monday to Friday business days will be assumed.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] business_days
  #   @return [::String]
  #     Effective days of the week considered for the delivery time calculation.
  #     May not be empty. The more business days included the faster the
  #     delivery. Can be set through individual days (e.g. `MTWRF`), or day
  #     ranges (e.g. `Mon-Fri`). For more information about accepted formats,
  #     see [Shipping handling business
  #     days](https://support.google.com/merchants/answer/16072859).
  class ShippingBusinessDaysConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Carrier-based shipping configuration. Allows for setting shipping speed or
  # shipping cost based on a carrier's provided info.
  # @!attribute [rw] country
  #   @return [::String]
  #     The [CLDR territory
  #     code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
  #     of the country to which an item will ship.
  # @!attribute [rw] region
  #   @return [::String]
  #     The geographic region to which a shipping rate applies.
  #     See [region](https://support.google.com/merchants/answer/6324484) for
  #     more information.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code range that the shipping rate applies to, represented by
  #     a postal code (eg. `94043`), a postal code prefix followed by a *
  #     wildcard (eg. `94*`), a range between two postal codes (eg.
  #     `94043-98033`) or two postal code prefixes of equal length (eg.
  #     `94*-98*`).
  # @!attribute [rw] origin_postal_code
  #   @return [::String]
  #     The source location postal code from which this offer ships. Represented
  #     only by a full-length postal code.
  # @!attribute [rw] flat_price
  #   @return [::Google::Shopping::Type::Price]
  #     Fixed shipping price, represented as a number with currency. Cannot be
  #     set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price carrierPrice}
  #     or its adjustments
  #     ({::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment},
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}).
  # @!attribute [rw] carrier_price
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierPriceOption]
  #     Selected carrier to calculate the shipping price from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Price will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate shipping price.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}.
  # @!attribute [rw] carrier_price_flat_adjustment
  #   @return [::Google::Shopping::Type::Price]
  #     A flat adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_percentage_adjustment carrierPricePercentageAdjustment}.
  # @!attribute [rw] carrier_price_percentage_adjustment
  #   @return [::Float]
  #     A percentual adjustment on the carrier price. Can be either positive or
  #     negative. Cannot be zero. Requires `carrier_price` to be present. Cannot
  #     be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#flat_price flatPrice}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_price_flat_adjustment carrierPriceFlatAdjustment}.
  # @!attribute [rw] min_handling_time
  #   @return [::Integer]
  #     Minimum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#min_handling_time minHandlingTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     is also set.
  # @!attribute [rw] max_handling_time
  #   @return [::Integer]
  #     Maximum handling time (inclusive) between when the order is received and
  #     shipped in business days. 0 means that the order is shipped on the same
  #     day as it is received if it happens before the cut-off time. Both
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}
  #     and
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     are required if providing shipping speeds.
  # @!attribute [rw] fixed_min_transit_time
  #   @return [::Integer]
  #     Minimum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships.
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}
  #     can only be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     is set. Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] fixed_max_transit_time
  #   @return [::Integer]
  #     Maximum transit time (inclusive) between when the order has shipped and
  #     when it is delivered in business days. 0 means that the order is
  #     delivered on the same day as it ships. Needs to be provided together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#max_handling_time maxHandlingTime}.
  #     Cannot be set if
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#carrier_transit_time carrierTransitTime}
  #     is present.
  # @!attribute [rw] carrier_transit_time
  #   @return [::Google::Shopping::Merchant::Products::V1::CarrierTransitTimeOption]
  #     Selected carrier to calculate the shipping speed from. Select a carrier
  #     from the [available carriers
  #     list](https://support.google.com/merchants/answer/15449142#Supported),
  #     for example `AUSTRALIA_POST_REGULAR`. Speed will be calculated by this
  #     selected carrier, the location expressed in
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#origin_postal_code originPostalCode},
  #     along with the user location to determine the accurate delivery speed.
  #     Carrier is represented by a carrier service name or a carrier service ID.
  #     Cannot be set together with
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_max_transit_time fixedMaxTransitTime}
  #     or
  #     {::Google::Shopping::Merchant::Products::V1::ProductAttributes::CarrierShipping#fixed_min_transit_time fixedMinTransitTime}.
  class CarrierShipping
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The mileage of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The distance value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage::Unit]
  #     The unit of the mileage.
  class Mileage
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the mileage.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Miles.
      MILES = 1

      # Kilometers.
      KM = 2
    end
  end

  # The fuel consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The fuel consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::FuelConsumption::Unit]
  #     The unit of the fuel consumption.
  class FuelConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the fuel consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Liter per 100 kilometers.
      LPER100KM = 1

      # Kilograms per 100 kilometers.
      KGPER100KM = 2
    end
  end

  # The energy consumption of the vehicle.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The energy consumption value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::EnergyConsumption::Unit]
  #     The unit of the energy consumption.
  class EnergyConsumption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the energy consumption.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Kilowatt hours per 100 kilometers.
      KWHPER100KM = 1
    end
  end

  # The co2 emission of the vehicle.
  # @!attribute [rw] value
  #   @return [::Integer]
  #     The co2 emission value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Co2Emissions::Unit]
  #     The unit of the co2 emission.
  class Co2Emissions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of the co2 emission.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Grams per kilometer.
      GPERKM = 1
    end
  end

  # The warranty of the vehicle.
  # @!attribute [rw] duration
  #   @return [::Integer]
  #     The warranty duration in months.
  # @!attribute [rw] mileage
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::Mileage]
  #     The warranty mileage.
  class Warranty
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The product fee attribute containing type and amount.
  # @!attribute [rw] type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::ProductFee::FeeType]
  #     The type of product fee.
  # @!attribute [rw] amount
  #   @return [::Google::Shopping::Type::Price]
  #     The amount of product fee.
  class ProductFee
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The type of product fee.
    module FeeType
      # Unspecified fee type.
      FEE_TYPE_UNSPECIFIED = 0

      # Admin fee.
      ADMIN_FEE = 1

      # Application fee.
      APPLICATION_FEE = 2

      # Security deposit.
      SECURITY_DEPOSIT = 3
    end
  end

  # The display address of the property.
  # @!attribute [rw] street_number
  #   @return [::String]
  #     The street number.
  # @!attribute [rw] street_name
  #   @return [::String]
  #     The street name.
  # @!attribute [rw] city
  #   @return [::String]
  #     The city such as Seattle, New York, etc.
  # @!attribute [rw] region
  #   @return [::String]
  #     The region(state), such as WA, OH, etc.
  # @!attribute [rw] postal_code
  #   @return [::String]
  #     The postal code, such as 94043.
  class DisplayAddress
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The unit area of the property.
  # @!attribute [rw] value
  #   @return [::Float]
  #     The area value.
  # @!attribute [rw] unit
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::UnitArea::Unit]
  #     The unit of area.
  class UnitArea
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The unit of area.
    module Unit
      # Unspecified unit.
      UNIT_UNSPECIFIED = 0

      # Square meters.
      SQM = 1

      # Square feet.
      SQFT = 2
    end
  end

  # The pet policy of the property.
  # @!attribute [rw] pets_allowed
  #   @return [::Boolean]
  #     Whether pets are allowed.
  # @!attribute [rw] pet_types
  #   @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::PetPolicy::PetType>]
  #     The pet types allowed.
  class PetPolicy
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The pet types.
    module PetType
      # Unspecified pet type.
      PET_TYPE_UNSPECIFIED = 0

      # Cats.
      CATS = 1

      # Large dogs.
      LARGE_DOGS = 2

      # Small dogs.
      SMALL_DOGS = 3
    end
  end

  # The question and answer for the product.
  # @!attribute [rw] question
  #   @return [::String]
  #     Required. The question text.
  # @!attribute [rw] answer
  #   @return [::String]
  #     Required. The answer text.
  class QuestionAndAnswer
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional product variants for the product.
  # @!attribute [rw] name
  #   @return [::String]
  #     Required. The name of the variant. For example, "Color", "Memory",
  #     "Size", "Length"
  # @!attribute [rw] value
  #   @return [::String]
  #     Required. The value of the variant. For example, "Red", "128GB", "XL",
  #     "100cm"
  class VariantOption
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies how other products are related to this product.
  # @!attribute [rw] relationship_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::RelationshipType]
  #     Required. The type of the relationship between this product and the
  #     related product.
  # @!attribute [rw] id_type
  #   @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes::RelatedProduct::IdType]
  #     Required. The type of the identifier of the related product.
  #     For example, [GTIN](https://support.google.com/merchants/answer/6219078)
  #     or [product ID](https://support.google.com/merchants/answer/6324405).
  # @!attribute [rw] id
  #   @return [::String]
  #     Required. The identifier of the related product.
  class RelatedProduct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The various types of the relationships between this product and the
    # related product.
    module RelationshipType
      # The relationship type is unspecified.
      RELATIONSHIP_TYPE_UNSPECIFIED = 0

      # Part of a set of products that are often purchased together.
      PART_OF_SET = 1

      # Part that is necessary for the product to function, for example a
      # battery for a battery-operated lamp.
      REQUIRED_PART = 2

      # A product that this product is often purchased together with, for
      # example a phone case with a phone.
      OFTEN_BOUGHT_WITH = 3

      # Product that this product can be substituted for. For example a printer
      # comparable in function to another printer.
      SUBSTITUTE = 4

      # An identical product sold under a different brand, for example a
      # cheaper house brand.
      DIFFERENT_BRAND = 5

      # An accessory to this product, for example a side table that matches the
      # style of a couch.
      ACCESSORY = 6
    end

    # The type of the identifier of the related product.
    module IdType
      # The identifier type is unspecified.
      ID_TYPE_UNSPECIFIED = 0

      # The identifier is a GTIN.
      GTIN = 1

      # The identifier is a product ID in the feed.
      ID = 2
    end
  end

  # Possible carrier where price is coming from.
  module CarrierPriceOption
    # Carrier price option is unspecified.
    CARRIER_PRICE_OPTION_UNSPECIFIED = 0

    # Australia Post Regular shipping service.
    AUSTRALIA_POST_REGULAR = 1

    # Australia Post Express shipping service.
    AUSTRALIA_POST_EXPRESS = 2

    # Australia Post Regular Small shipping service.
    AUSTRALIA_POST_REGULAR_S = 3

    # Australia Post Regular Medium shipping service.
    AUSTRALIA_POST_REGULAR_M = 4

    # Australia Post Regular Large shipping service.
    AUSTRALIA_POST_REGULAR_L = 5

    # Australia Post Regular XL shipping service.
    AUSTRALIA_POST_REGULAR_XL = 6

    # Australia Post Express Small shipping service.
    AUSTRALIA_POST_EXPRESS_S = 7

    # Australia Post Express Medium shipping service.
    AUSTRALIA_POST_EXPRESS_M = 8

    # Australia Post Express Large shipping service.
    AUSTRALIA_POST_EXPRESS_L = 9

    # Australia Post Express XL shipping service.
    AUSTRALIA_POST_EXPRESS_XL = 10

    # TNT Road Express shipping service.
    TNT_ROAD_EXPRESS = 11

    # TNT Overnight Express shipping service.
    TNT_OVERNIGHT_EXPRESS = 12

    # Toll Road Delivery shipping service.
    TOLL_ROAD_DELIVERY = 13

    # Toll Overnight Priority shipping service.
    TOLL_OVERNIGHT_PRIORITY = 14

    # DHL Paket shipping service.
    DHL_PAKET = 15

    # DHL Packchen shipping service.
    DHL_PACKCHEN = 16

    # DPD Express 12 shipping service.
    DPD_EXPRESS_12 = 17

    # DPD Express shipping service.
    DPD_EXPRESS = 18

    # DPD Classic Parcel shipping service.
    DPD_CLASSIC_PARCEL = 19

    # Hermes Packchen shipping service.
    HERMES_PACKCHEN = 20

    # Hermes Paketklasse S shipping service.
    HERMES_PAKETKLASSE_S = 21

    # Hermes Paketklasse M shipping service.
    HERMES_PAKETKLASSE_M = 22

    # Hermes Paketklasse L shipping service.
    HERMES_PAKETKLASSE_L = 23

    # UPS Express shipping service.
    UPS_EXPRESS = 24

    # UPS Express Saver shipping service.
    UPS_EXPRESS_SAVER = 25

    # UPS Express Standard shipping service.
    UPS_EXPRESS_STANDARD = 26

    # DHL Express shipping service.
    DHL_EXPRESS = 27

    # DHL Express 12 shipping service.
    DHL_EXPRESS_12 = 28

    # DPD Next Day shipping service.
    DPD_NEXT_DAY = 29

    # DPD Standard Next Day shipping service.
    DPD_STANDARD_NEXT_DAY = 30

    # DPD Standard Two Day shipping service.
    DPD_STANDARD_TWO_DAY = 31

    # RMG 1st Class Small shipping service.
    RMG_1ST_CLASS_SMALL = 32

    # RMG 1st Class Medium shipping service.
    RMG_1ST_CLASS_MEDIUM = 33

    # RMG 2nd Class Small shipping service.
    RMG_2ND_CLASS_SMALL = 34

    # RMG 2nd Class Medium shipping service.
    RMG_2ND_CLASS_MEDIUM = 35

    # TNT Express shipping service.
    TNT_EXPRESS = 36

    # TNT Express 10 shipping service.
    TNT_EXPRESS_10 = 37

    # TNT Express 12 shipping service.
    TNT_EXPRESS_12 = 38

    # Yodel B2C 48HR shipping service.
    YODEL_B2C_48HR = 39

    # Yodel B2C 72HR shipping service.
    YODEL_B2C_72HR = 40

    # Yodel B2C Packet shipping service.
    YODEL_B2C_PACKET = 41

    # FedEx Ground shipping service.
    FEDEX_GROUND = 42

    # FedEx Home Delivery shipping service.
    FEDEX_HOME_DELIVERY = 43

    # FedEx Express Saver shipping service.
    FEDEX_EXPRESS_SAVER = 44

    # FedEx First Overnight shipping service.
    FEDEX_FIRST_OVERNIGHT = 45

    # FedEx Priority Overnight shipping service.
    FEDEX_PRIORITY_OVERNIGHT = 46

    # FedEx Standard Overnight shipping service.
    FEDEX_STANDARD_OVERNIGHT = 47

    # FedEx 2Day shipping service.
    FEDEX_2DAY = 48

    # UPS Standard shipping service.
    UPS_STANDARD = 49

    # UPS 2nd Day Air shipping service.
    UPS_2ND_DAY_AIR = 50

    # UPS 2nd Day AM shipping service.
    UPS_2ND_DAY_AM = 51

    # UPS 3 Day Select shipping service.
    UPS_3_DAY_SELECT = 52

    # UPS Ground shipping service.
    UPS_GROUND = 53

    # UPS Next Day Air shipping service.
    UPS_NEXT_DAY_AIR = 54

    # UPS Next Day Air Early AM shipping service.
    UPS_NEXT_DAY_AIR_EARLY_AM = 55

    # UPS Next Day Air Saver shipping service.
    UPS_NEXT_DAY_AIR_SAVER = 56

    # USPS Priority Mail Express shipping service.
    USPS_PRIORITY_MAIL_EXPRESS = 57

    # USPS Media Mail shipping service.
    USPS_MEDIA_MAIL = 58

    # USPS Ground Advantage Retail shipping service.
    USPS_GROUND_ADVANTAGE_RETAIL = 59

    # USPS Priority Mail shipping service.
    USPS_PRIORITY_MAIL = 60

    # USPS Ground Advantage Commercial shipping service.
    USPS_GROUND_ADVANTAGE_COMMERCIAL = 61
  end

  # The vehicle body style. See the [Body
  # style](https://support.google.com/google-ads/answer/14157085) for more
  # information.
  module VehicleBodyStyle
    # Unspecified vehicle body style.
    VEHICLE_BODY_STYLE_UNSPECIFIED = 0

    # ATV Sport.
    ATV_SPORT = 1

    # ATV Touring.
    ATV_TOURING = 2

    # ATV Utility.
    ATV_UTILITY = 3

    # ATV Youth.
    ATV_YOUTH = 4

    # City car.
    CITY_CAR = 5

    # Class A motorhome.
    CLASS_A_MOTORHOME = 6

    # Class B motorhome.
    CLASS_B_MOTORHOME = 7

    # Class C motorhome.
    CLASS_C_MOTORHOME = 8

    # Compact SUV.
    COMPACT_SUV = 9

    # Convertible.
    CONVERTIBLE = 10

    # Coupe.
    COUPE = 11

    # Crossover.
    CROSSOVER = 12

    # Fifth wheel.
    FIFTH_WHEEL = 13

    # Full size van.
    FULL_SIZE_VAN = 14

    # Hatchback.
    HATCHBACK = 15

    # Limousine.
    LIMOUSINE = 16

    # Minivan.
    MINIVAN = 17

    # Notchback.
    NOTCHBACK = 18

    # Pop up camper.
    POP_UP_CAMPER = 19

    # Sedan.
    SEDAN = 20

    # Side by side.
    SIDE_BY_SIDE = 21

    # Station wagon.
    STATION_WAGON = 22

    # SUV.
    SUV = 23

    # Travel trailer.
    TRAVEL_TRAILER = 24

    # Truck.
    TRUCK = 25

    # Truck camper.
    TRUCK_CAMPER = 26

    # Ute.
    UTE = 27

    # UTV Recreational utility.
    UTV_RECREATIONAL_UTILITY = 28

    # UTV Sport.
    UTV_SPORT = 29

    # UTV Utility.
    UTV_UTILITY = 30

    # UTV Youth.
    UTV_YOUTH = 31
  end

  # The engine type of the vehicle.
  module EngineType
    # Unspecified engine type.
    ENGINE_TYPE_UNSPECIFIED = 0

    # Gasoline.
    GASOLINE = 1

    # Diesel.
    DIESEL = 2

    # Electric.
    ELECTRIC = 3

    # Hybrid.
    HYBRID = 4

    # Plug-in hybrid.
    PLUG_IN_HYBRID = 5

    # Natural gas.
    NATURAL_GAS = 6

    # LPG.
    LPG = 7

    # Methane.
    METHANE = 8

    # Other.
    OTHER = 9
  end

  # The emission standard of the vehicle.
  module EmissionsStandard
    # Unspecified emission standard.
    EMISSIONS_STANDARD_UNSPECIFIED = 0

    # Zero emissions.
    ZERO_EMISSIONS = 1

    # Euro 1.
    EURO1 = 2

    # Euro 2.
    EURO2 = 3

    # Euro 3.
    EURO3 = 4

    # Euro 4.
    EURO4 = 5

    # Euro 5.
    EURO5 = 6

    # Euro 5b.
    EURO5B = 7

    # Euro 6.
    EURO6 = 8

    # Euro 6c.
    EURO6C = 9

    # Euro 6d.
    EURO6D = 10

    # Euro 6d-TEMP.
    EURO6D_TEMP = 11

    # Euro 6e.
    EURO6E = 12
  end

  # The vehicle price type.
  module VehiclePriceType
    # Unspecified vehicle price type.
    VEHICLE_PRICE_TYPE_UNSPECIFIED = 0

    # All in price.
    ALL_IN_PRICE = 1

    # Drive away price.
    DRIVE_AWAY_PRICE = 2

    # Estimated drive away price.
    ESTIMATED_DRIVE_AWAY_PRICE = 3

    # Excluding government charges price.
    EXCLUDING_GOVERNMENT_CHARGES_PRICE = 4

    # Vehicle base price.
    VEHICLE_BASE_PRICE = 5
  end

  # The property type.
  module PropertyType
    # Unspecified property type.
    PROPERTY_TYPE_UNSPECIFIED = 0

    # Apartment.
    APARTMENT = 1

    # Condo.
    CONDO = 2

    # Loft.
    LOFT = 3

    # Multi-family home.
    MULTI_FAMILY_HOME = 4

    # Penthouse.
    PENTHOUSE = 5

    # Room.
    ROOM = 6

    # Single-family home.
    SINGLE_FAMILY_HOME = 7

    # Studio.
    STUDIO = 8

    # Townhouse.
    TOWNHOUSE = 9
  end

  # The amenity features for the property.
  module AmenityFeature
    # Unspecified amenity feature.
    AMENITY_FEATURE_UNSPECIFIED = 0

    # Balcony.
    BALCONY = 1

    # Basement.
    BASEMENT = 2

    # Basketball court.
    BASKETBALL_COURT = 3

    # Bike storage.
    BIKE_STORAGE = 4

    # Central air conditioning.
    CENTRAL_AC = 5

    # Dishwasher.
    DISHWASHER = 6

    # Dog park.
    DOG_PARK = 7

    # Elevator.
    ELEVATOR = 8

    # EV charging.
    EV_CHARGING = 9

    # Fenced lot.
    FENCED_LOT = 10

    # Fireplace.
    FIREPLACE = 11

    # Fitness center.
    FITNESS_CENTER = 12

    # Forced air heating.
    FORCED_AIR_HEATING = 13

    # Fully furnished.
    FULLY_FURNISHED = 14

    # Garage.
    GARAGE = 15

    # Gated community.
    GATED_COMMUNITY = 16

    # Hardwood floors.
    HARDWOOD_FLOORS = 17

    # High speed internet.
    HIGH_SPEED_INTERNET = 18

    # Intercom.
    INTERCOM = 19

    # In-unit washer and dryer.
    IN_UNIT_WASHER_DRYER = 20

    # Kitchen.
    KITCHEN = 21

    # Large closets.
    LARGE_CLOSETS = 22

    # Multisport court.
    MULTISPORT_COURT = 23

    # Onsite laundry.
    ONSITE_LAUNDRY = 24

    # Outdoor lounge.
    OUTDOOR_LOUNGE = 25

    # Parking.
    PARKING = 26

    # Patio.
    PATIO = 27

    # Pickleball court.
    PICKLEBALL_COURT = 28

    # Pool.
    POOL = 29

    # Refrigerator.
    REFRIGERATOR = 30

    # Soccer field.
    SOCCER_FIELD = 31

    # Tennis court.
    TENNIS_COURT = 32

    # Walk-in closets.
    WALK_IN_CLOSETS = 33

    # Wheelchair accessibility.
    WHEELCHAIR_ACCESS = 34
  end

  # The utilities included for the property.
  module UtilitiesIncluded
    # Unspecified utilities included.
    UTILITIES_INCLUDED_UNSPECIFIED = 0

    # Electricity.
    ELECTRICITY = 1

    # Gas.
    GAS = 2

    # Internet.
    INTERNET = 3

    # Trash.
    TRASH = 4

    # Water.
    WATER = 5
  end

  # The specialty housing type for the property.
  module SpecialtyHousingType
    # Unspecified specialty housing type.
    SPECIALTY_HOUSING_TYPE_UNSPECIFIED = 0

    # Corporate housing.
    CORPORATE = 1

    # Low income housing.
    LOW_INCOME = 2

    # Military housing.
    MILITARY = 3

    # Senior housing.
    SENIOR = 4

    # Short term housing.
    SHORT_TERM = 5

    # Student housing.
    STUDENT = 6
  end
end